package com.cdu.guoxinan.www.smartcom.service;

import com.cdu.guoxinan.www.smartcom.domian.dto.OrderDTO;
import com.cdu.guoxinan.www.smartcom.domian.pojo.Order;
import com.cdu.guoxinan.www.smartcom.domian.pojo.OrderItem;

import java.util.List;

public interface OrderService {
    /**
     * 创建订单
     */
    Order createOrder(OrderDTO orderDTO);
    
    /**
     * 根据用户ID查询订单列表
     */
    List<Order> getOrdersByUserId(Long userId);
    
    /**
     * 根据订单ID查询订单商品详情
     */
    List<OrderItem> getOrderItemsByOrderId(Long orderId);
    
    /**
     * 支付订单
     */
    boolean payOrder(Long orderId);
    
    /**
     * 取消订单
     */
    boolean cancelOrder(Long orderId);
    
    /**
     * 删除订单
     */
    boolean deleteOrder(Long orderId);
    
    /**
     * 完成订单
     */
    boolean completeOrder(Long orderId);
    
    /**
     * 分页查询所有订单（管理端用）
     */
    List<Order> getAllOrdersWithPagination(int page, int limit, String sortField, String sortOrder);
    
    /**
     * 统计所有订单数量
     */
    int countAllOrders();
} 